﻿using System;
using System.ApplicationModel;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;

namespace Anagramme.Contracts
{
    /// <summary>
    /// Définition d'une équipe
    /// </summary>
    [DataContract]
    public class Team : ObservableObject
    {
        #region Fields
        private int _id;
        private string _name;
        private int _score;
        #endregion

        #region Properties
        /// <summary>
        /// Obient ou définit l'identifiant de l'équipe
        /// </summary>
        [DataMember]
        public int Id
        {
            get
            {
                return this._id;
            }
            set
            {
                if (this._id != value)
                {
                    base.RaisePropertyChanging();
                    this._id = value;
                    base.RaisePropertyChanged();
                }
            }
        }

        /// <summary>
        /// Obtient ou définit le nom de l'équipe
        /// </summary>
        [DataMember]
        public string Name
        {
            get
            {
                return this._name;
            }
            set
            {
                if (this._name != value)
                {
                    base.RaisePropertyChanging();
                    this._name = value;
                    base.RaisePropertyChanged();
                }
            }
        }

        /// <summary>
        /// Obtient ou défini le score de l'équipe
        /// </summary>
        [DataMember]
        public int Score
        {
            get { return _score; }
            set
            {
                if (_score != value)
                {
                    RaisePropertyChanging();
                    _score = value;
                    RaisePropertyChanged();
                }
            }
        }
        #endregion
    }
}
